package com.zp.pattern.proxy;
/**
 * 代理类：实现接口Subject
 */
public class ProxySubject implements Subject {
	//对真实对象的引用；
	private RealSubject real;
	
	@Override
	public void request() {
		this.preRequest();//代理对象方法
		if(null == real){
			real = new RealSubject();
		}
		real.request();
		this.lastRequest();//代理对象方法
	}
	
	//下面是代理对象自己的方法，可以放在request()方法中；
	public void preRequest(){
		System.out.println("proxy preRequest....");
	}
	
	public void lastRequest(){
		System.out.println("proxy lastRequest");
	}

}
